package in.view.delegate;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import in.controller.adapter.base.RobinAdapter;
import in.lib.manager.SettingsManager;
import in.model.Post;
import in.rob.client.R;
import in.view.holder.PostCollapsedHolder;
public class PostCollapsedDelegate extends PostDelegate
{
public PostCollapsedDelegate(RobinAdapter<Post> adapter)
{
super(adapter);
}
public int getLayout()
{
return R.layout.post_collapsed_view;
}
@Override public View getView(Post item, int position, View convertView, ViewGroup parent, LayoutInflater inflater)
{
PostCollapsedHolder holder;
if (convertView == null)
{
convertView = inflater.inflate(getLayout(), parent, false);
holder = new PostCollapsedHolder(convertView);
convertView.setTag(holder);
}
else
{
holder = (PostCollapsedHolder)convertView.getTag();
}
convertView.setTag(R.id.TAG_POSITION, position);
holder.populate(item);
return convertView;
}
@Override public boolean onItemLongClick(int position, View view)
{
final Post item = getAdapter().getItem(position - getAdapter().getListView().getHeaderViewsCount());
final Builder dialogBuilder = new Builder(view.getContext());
String[] options = {view.getContext().getString(R.string.expand_thread)};
dialogBuilder.setItems(options, new OnClickListener()
{
@Override public void onClick(DialogInterface dialog, int which)
{
SettingsManager.getInstance().expandThread(item.getThreadId());
getAdapter().notifyDataSetChanged();
}
});
dialogBuilder.show();
return true;
}
}